const formatTime = date => {
    const year = date.getFullYear()
    const month = date.getMonth() + 1
    const day = date.getDate()
    const hour = date.getHours()
    const minute = date.getMinutes()
    const second = date.getSeconds()

    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
    n = n.toString()
    return n[1] ? n : '0' + n
}

module.exports = {
    formatTime: formatTime,
    formatDateTime: formatDateTime,
}


/**
 * 时间戳转化为年 月 日 时 分 秒
 * number: 传入时间戳
 * format：返回格式，支持自定义，但参数必须与formateArr里保持一致
 * 使用方法
 app.log(demo.formatTime(new Date(),"Y年M月D日 h时m分s秒"))
 app.log(demo.formatTime(new Date(),"Y-M-D h:m:s"))
 app.log(demo.formatTime(new Date(),"Y-M-D"))
 app.log(demo.formatTime(new Date(),"M-D"))
 app.log(demo.formatTime(new Date(),"h时m分s秒"))
 app.log(demo.formatTime(new Date(),"h时m分"))
 app.log(demo.formatTime(new Date(),"s秒"))
 app.log(demo.formatTime(new Date("2008-08-08 18:17:16"),"Y年M月D日 h时m分s秒"))
 */
function formatDateTime(date, format) {
    app.log('==>>formatDateTime')

    var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
    var returnArr = [];
    returnArr.push(date.getFullYear());
    returnArr.push(formatNumber(date.getMonth() + 1));
    returnArr.push(formatNumber(date.getDate()));

    returnArr.push(formatNumber(date.getHours()));
    returnArr.push(formatNumber(date.getMinutes()));
    returnArr.push(formatNumber(date.getSeconds()));

    for (var i in returnArr) {
        format = format.replace(formateArr[i], returnArr[i]);
    }
    // return format;

    return new Promise(function (resolve, reject) {
        app.log('==>>formate：' + format)
        resolve(format)
    })
}
